/*
 * @Author: LVGRAPE
 * @LastEditors: LVGRAPE
 */
#if 0
#include "arm_math.h"
#include <stdio.h>
#include "zino.h"
#include "maths.h"
#include "rtthread.h"

#define FFT_SIZE 512

// 定义复数数组用于存储输入和输出
float32_t input[2 * FFT_SIZE];
float32_t output[2 * FFT_SIZE];
// float testData[FFT_SIZE];

// 定义 FFT 实例
arm_cfft_radix4_instance_f32 S;


#define M_PI		3.14159265358979323846f
int fft_test(void)
{

    arm_rfft_fast_instance_f32 rfft_fast_f32;
    arm_rfft_fast_init_f32(&rfft_fast_f32, FFT_SIZE);


    // 初始化输入数据
    for (int i = 0; i < FFT_SIZE; i++)
    {
        input[2*i] =sinf(6.28 *5000 *i); // 实部
        input[2 * i + 1] = 0.0f;     // 虚部
    }
    arm_rfft_fast_f32(&rfft_fast_f32, input, output, 1);
    arm_cmplx_mag_f32(input, output, FFT_SIZE);


    // 输出结果
    for (int i = 0; i < FFT_SIZE/2; i++)
    {
        rt_kprintf("%d.%06d\n", (int)(output[i]), (int)((output[i] - (int)output[i]) * 1000000));
    }
    return 0;
}

ZINO_APP_EXPORT(fft_test);
// MSH_CMD_EXPORT(fft_test, fft_test);

#endif
